/*********************************************************************************
 *      Copyright:  (C) 2025 YANG Studio
 *                  All rights reserved.
 *
 *       Filename:  bee.c
 *    Description:  This file 
 *                 
 *        Version:  1.0.0(27/05/25)
 *         Author:  YANG JIAYU <yangjiayu@gmail.com>
 *      ChangeLog:  1, Release initial version on "27/05/25 19:00:08"
 *                 
 ********************************************************************************/
#include "./BSP/BEEP/beep.h"  // 包含蜂鸣器驱动头文件，声明相关函数和宏定义

/**
 * @brief       初始化蜂鸣器相关IO口并使能时钟
 * @param       无
 * @retval      无
 */
void beep_init(void)
{
    GPIO_InitTypeDef gpio_init_struct;  // 定义GPIO初始化结构体变量
    
    BEEP_GPIO_CLK_ENABLE();                             /* 使能蜂鸣器GPIO时钟（通过宏定义实现） */

    // 配置蜂鸣器控制引脚参数
    gpio_init_struct.Pin = BEEP_GPIO_PIN;               /* 设置蜂鸣器控制引脚（通过宏定义指定） */
    gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP;        /* 配置为推挽输出模式（适合驱动蜂鸣器） */
    gpio_init_struct.Pull = GPIO_PULLUP;                /* 启用上拉电阻（确保初始状态稳定） */
    gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;      /* 设置GPIO输出速度为高速 */
    HAL_GPIO_Init(BEEP_GPIO_PORT, &gpio_init_struct);   /* 初始化蜂鸣器控制引脚 */

    BEEP(0);                                            /* 初始状态关闭蜂鸣器（输出高电平） */
}

